package com.example.blew.omp.system.model.po;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@TableName("blew_file")
@Schema(name = "file对象", title = "文件表")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class File {
    private static final long serialVersionUID = 1L;

    @Schema(description = "文件id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @Schema(description = "创建时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @Schema(description = "创建人标识")
    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private String createBy;

    @Schema(description = "创建人姓名")
    @TableField(value = "create_by_name", fill = FieldFill.INSERT)
    private String createByName;

    @Schema(description = "最后修改时间")
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private LocalDateTime updateTime;

    @Schema(description = "最后修改人标识")
    @TableField(value = "update_by", fill = FieldFill.UPDATE)
    private String updateBy;

    @Schema(description = "最后修改人姓名")
    @TableField(value = "update_by_name", fill = FieldFill.UPDATE)
    private String updateByName;

    @Schema(description = "删除标记（0：正常，1：删除）")
    @TableField("del_flag")
    @TableLogic
    private Integer delFlag;

    @Schema(description = "文件名")
    @TableField(value = "file_name")
    private String fileName;

    @Schema(description = "文件大小(K)")
    @TableField(value = "file_size")
    private BigDecimal fileSize;

    @Schema(description = "文件类型(docx,xlsx,jpb)")
    @TableField(value = "file_type")
    private String fileType;

    @Schema(description = "存储路径")
    @TableField(value = "store_path")
    private String storePath;

    @Schema(description = "转换后存储路径")
    @TableField(value = "converter_store_path")
    private String converterStorePath;

    @Schema(description = "备注")
    @TableField(value = "remark")
    private String remark;
}
